const express = require('express');
const router = express.Router();
const Device = require('../models/device');

// 获取所有设备
router.get('/', async (req, res) => {
    try {
        const devices = await Device.findAll();
        res.json(devices);
    } catch (error) {
        res.status(500).json({ error: error.message });
    }
});

// 获取单个设备
router.get('/:id', async (req, res) => {
    try {
        const device = await Device.findByPk(req.params.id);
        if (!device) {
            return res.status(404).json({ error: '设备不存在' });
        }
        res.json(device);
    } catch (error) {
        res.status(500).json({ error: error.message });
    }
});

// 创建设备
router.post('/', async (req, res) => {
    try {
        const device = await Device.create(req.body);
        res.status(201).json(device);
    } catch (error) {
        res.status(400).json({ error: error.message });
    }
});

// 更新设备
router.put('/:id', async (req, res) => {
    try {
        const device = await Device.findByPk(req.params.id);
        if (!device) {
            return res.status(404).json({ error: '设备不存在' });
        }
        await device.update(req.body);
        res.json(device);
    } catch (error) {
        res.status(400).json({ error: error.message });
    }
});

// 删除设备
router.delete('/:id', async (req, res) => {
    try {
        const device = await Device.findByPk(req.params.id);
        if (!device) {
            return res.status(404).json({ error: '设备不存在' });
        }
        await device.destroy();
        res.status(204).send();
    } catch (error) {
        res.status(500).json({ error: error.message });
    }
});

module.exports = router; 